package com.chenlehao.mapper;

import com.chenlehao.pojo.user;
import org.apache.ibatis.annotations.*;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.lang.ref.SoftReference;
import java.util.List;

@Mapper // 本次运行时,会自动生成该接口实现类(代理对象), 并且会将这个对象交给ioc容器管理
public interface userMapper {
    // 查询全部用户信息修饰符
//    @Select("select * from user")
    public List<user> list();

    // 删除
    // #{...} 预编译
//    @Delete("delete from user where id = #{id}")
    public void del(Integer id);

    // 插入
//    @Options(keyProperty = "id")
//    @Insert("insert into user(name,age,sex,hobby) values (#{name},#{age},#{sex},#{hobby})")
    public void insert(user user);

    // 更新
//    @Update("update user set name='刘备' where id=2")
    public void update(Integer id);

    public void updated(user user);

    // 批量删除
    public void deleteIds(int[] ids);

    public List<user> listName(user user);

    /*数据分页查询*/
    // 计算返回数据库总条数
    @Select("select count(*) from user")
    public int count();

    // 分页查询
    @Select("select * from user limit #{page},#{pageSize}")
    public List<user> page(int page, int pageSize);

    // 用户名查询
    @Select("select * from user where name=#{name};")
    public List<user> selectName(String name);
}
